package com.anyou.mall.partner.service;

import java.util.List;
import com.anyou.mall.partner.domain.PartnerLavel;
import com.anyou.mall.partner.dto.MyRankDto;
import com.anyou.mall.partner.dto.PartnerRankingDto;
import com.anyou.mall.partner.vo.PartnerRankingVo;
import com.anyou.mall.parts.domain.PlaPartsClassify;

/**
 * 合伙人等级Service接口
 *
 * @author ruoyi
 * @date 2023-10-10
 */
public interface IPartnerLavelService
{
    /**
     * 查询合伙人等级
     *
     * @param lavelId 合伙人等级主键
     * @return 合伙人等级
     */
    public PartnerLavel selectPartnerLavelByLavelId(Long lavelId);

    /**
     * 查询合伙人等级列表
     *
     * @param partnerLavel 合伙人等级
     * @return 合伙人等级集合
     */
    public List<PartnerLavel> selectPartnerLavelList(PartnerLavel partnerLavel);

    /**
     * 新增合伙人等级
     *
     * @param partnerLavel 合伙人等级
     * @return 结果
     */
    public int insertPartnerLavel(PartnerLavel partnerLavel);

    /**
     * 修改合伙人等级
     *
     * @param partnerLavel 合伙人等级
     * @return 结果
     */
    public int updatePartnerLavel(PartnerLavel partnerLavel);

    /**
     * 批量删除合伙人等级
     *
     * @param lavelIds 需要删除的合伙人等级主键集合
     * @return 结果
     */
    public int deletePartnerLavelByLavelIds(Long[] lavelIds);

    /**
     * 删除合伙人等级信息
     *
     * @param lavelId 合伙人等级主键
     * @return 结果
     */
    public int deletePartnerLavelByLavelId(Long lavelId);

    /**
     * 合伙人排名
     * @param param
     * @return
     */
    List<PartnerRankingVo> selectPartnerRankingList(PartnerRankingDto param);

    /**
     * 可用商品分类列表
     * @return
     */
    List<PlaPartsClassify> goodsTypeList();

    /**
     * 我的排名
     * @param carPartShopId
     * @return
     */
    Integer getMyRank(Long carPartShopId);
}
